﻿using System;

namespace BO.Management
{
    /// <summary>
    /// Base class to manage all system objects as server, service
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public abstract class BaseApplicationObjectProvider<T> : BaseObjectProvider<T> where T : CrystalDecisions.Enterprise.InfoObject
    {
        /// <summary>
        /// Root object ID for all system Object is 4 : the CMS
        /// </summary>
        private const Int32 ROOT_CONTENT_ID = 4;

        public override int RootParentId
        {
            get { return ROOT_CONTENT_ID; }
        }

        /// <summary>
        /// Default constructor must have the logon provider to manage a connection to the cms
        /// </summary>
        /// <param name="logon"></param>
        public BaseApplicationObjectProvider(LogonProvider logon) : base(logon) { }

        public override string Query_Table
        {
            get { return "CI_APPOBJECTS"; }
        }

    }

}
